前面我们在使用 getfacl
的时候, 看到过文件的 MASK 值, 如果你执行 umask 命令, 会返回一个 4 位的八进制数据是文件的 UMASK 值.
MASK 的作用
MASK 权限,指的是用户或群组能拥有的最大 ACL 权限. 也就意味着 ACL 分配的权限如果超出 MASK 权限的部分则是无效的.
ACL 分配权限与 MASK 权限取交集后, 是用户真实的权限.
UMASK 值的作用
umask
就是用户在创建文件的时候, 赋予的默认权限差值, 每个用户不同, root
默认是 0022
, 普通用户默认是 0002
.
这个数字是什么意思呢, 其实和文件 rwx 权限一样, 但是这个权限是一个过滤权限, 就是创建的文件或文件夹, 默认不包含这个权限.
文件(或目录)的初始权限 = 文件(或目录)的最大默认权限 - umask 权限
文件的默认最大权限应该是 0666
, 文件夹的默认最大权限是 0777
.
例如:
用户 root
以 umask 值 0022
创建文件的默认权限为 0644
= 0666
- 0022
= -rw-r--r--
, 创建文件夹的默认权限为 0755
= 0777
- 0022
= drwxr-xr-x
.
普通用户以 umask 值 0002
创建文件的默认权限为 0664
= 0666
- 0002
= -rw-rw-r--
, 创建文件夹的默认权限为 0775
= 0777
- 0002
= drwxrwxr-x
.
查看与修改 umask 值
1 | # 查看 |
MASK 与 UMASK
MASK 是 ACL 分配权限的上限. UMASK 是最大默认权限默认扣除的部分.